const User = require('../models/user')

exports.form = (req, res) => {
    res.render('register', {
        title: "Register"
    })
}

exports.submit = (req, res, next) => {
    const data = req.body.user;
    // 检查用户名是否唯一
    User.getByName(data.name, (err, user) => {
        // 顺延传递数据库连接错误和其他错误
        if (err) return next(err);
        if (user.id) {
            // 用户名已经被占用
            res.error('Username already taken.');
            res.redirect('back');
        } else {
            // 用post数据创建用户
            user = new User({ name: data.name, pass: data.pass });
            user.save((err) => {
                if (err) return next(err);
                // 为认证保存uid
                req.session.uid = user.id;
                // 重定向到记录得列表页
                res.redirect('/');
            })
        }
    })
}